<?php //el require_once valida si el fichero que estamos incluyendo esta ya incluido si lo esta, no lo include y si no lo esta lo incluye.?>
<?php require_once('includes/interface.DAO.php'); ?>
<?php require_once('includes/model.user.php'); ?>
<?php
/*
*
*	DAO: DataBase Acces Objets
*	La funcion de esta clase es manipular, en este caso los usuarios, y hacer de intermediario entre estos y la base de datos.
*
*/
class userDAO implements iDAO{
	private $user;
	private $con;

	public function __construct($con){
		$this->con = $con;
	}
	
	//Crea un objeto en la BD
	public function save($obj){
	}
	//Crea un objeto si no existe en la BD o si existe lo guarda en la BD
	public function saveOrUpdate($obj){
	}
	//Actualiza el objeto, existente en la BD
	public function update($obj){
	}
	//Elimina un objeto de la BD [Puede ser eliminar o dar de baja en la BD] 
	public function delete($obj){
	}

	//Carga el objeto desde la BD
	public function load($id){
		
	}
	//Devuelve el objeto instancia
	public function get(){
		return $this->user;
	}
	public function set($obj){
		
	}
	//Setea el objeto dentro de la clase donde el objeto es un registro de la BD
	public function setByBD($obj){
		if(!isset($this->user)) {
			$this->user = new userM();
		}
		$this->user->setId($obj["users_id"]);
		$this->user->setLogin($obj["users_login"]);
		$this->user->setPass($obj["users_password"]);
		$this->user->setLevel($obj["users_level"]);
		$this->user->setNick($obj["users_nick"]);
		$this->user->setSquad($obj["users_squad"]);
		$this->user->setRank($obj["users_rango"]);
		$this->user->setNombre($obj["users_nombre"]);
		$this->user->setApellido1($obj["users_apellido1"]);
		$this->user->setApellido2($obj["users_apellido2"]);
		$this->user->setComunidad($obj["users_comunidad"]);
		$this->user->setProvincia($obj["users_provincia"]);
		$this->user->setPoblacion($obj["users_poblacion"]);
		$this->user->setNacimiento($obj["users_nacimiento"]);
	}
	//Setea el objeto pasandole las propiedades del mismo.
	public function setByParams($id,$login,$pass,$level,$nick,$squad,$rank,$nombre,$apellido1,$apellido2,$comunidad,$provincia,$poblacion,$nacimiento){
		if(!isset($this->user)) {
			$this->user = new userM();
		}
		$this->user->setId($id);
		$this->user->setLogin($login);
		$this->user->setPass($pass);
		$this->user->setLevel($level);
		$this->user->setNick($nick);
		$this->user->setSquad($squad);
		$this->user->setRank($rank);
		$this->user->setNombre($nombre);
		$this->user->setApellido1($apellido1);
		$this->user->setApellido2($apellido2);
		$this->user->setComunidad($comunidad);
		$this->user->setProvincia($provincia);
		$this->user->setPoblacion($poblacion);
		$this->user->setNacimiento($nacimiento);
	}
	
	//Devuelve un array con todos los objetos del tipo especificado.
	public function listAll(){
	}
}
?>